package com.gjy.kafka.sp.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 消息轨迹实体类
 * 记录Kafka消息的发送和消费情况
 *
 * @author gjy
 * @version 1.0
 * @since 2025-09-07 10:51:03
 */
@Data
@TableName("t_message_trace")
public class MessageTrace {

    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 消息ID
     */
    private String messageId;

    /**
     * 主题
     */
    private String topic;

    /**
     * 分区
     */
    private Integer mqPartition;

    /**
     * 偏移量
     */
    private Long offset;

    /**
     * 业务类型
     */
    private String businessType;

    /**
     * 业务ID
     */
    private String businessId;

    /**
     * 消息内容
     */
    private String content;

    /**
     * 发送时间
     */
    private LocalDateTime sendTime;

    /**
     * 发送状态：0-待发送，1-发送成功，2-发送失败
     */
    private Integer sendStatus;

    /**
     * 发送错误信息
     */
    private String sendErrorMsg;

    /**
     * 消费时间
     */
    private LocalDateTime consumeTime;

    /**
     * 消费分区
     */
    private Integer consumePartition;

    /**
     * 消费偏移量
     */
    private Long consumeOffset;

    /**
     * 消费状态：0-待消费，1-消费成功，2-消费失败
     */
    private Integer consumeStatus;

    /**
     * 消费错误信息
     */
    private String consumeErrorMsg;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

}
